package pe.com.csi.pm.regexiv.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DaoManager extends SQLiteOpenHelper {
	public static final String DATA_BASE = "REGEXIV";
	public static final int DATA_BASE_VERSION = 2;
	public static final String TABLE_ALCANTARILLA = "ALCANTARILLA";

	public static final String TABLE_TRAMO = "TRAMO";
	public static final String TABLE_USUARIO = "USUARIO";
	public static final String TABLE_ELEMENTO_VIAL = "ELEMENTO_VIAL";
	public static final String TABLE_DETALLE_ELEMENTO_VIAL = "DELEMENTO_VIAL";
	public static final String TABLE_FOTO_ELEMENTO = "FOTO_ELEMENTO";
	public static final String TABLE_FOTO_ALCANTARILLA = "FOTO_ALCANTARILLA";
	public static final String TABLE_RUTA = "RUTA";
	public static final String TABLE_CONCESION = "CONCESION";

	private String sqlElementoVial = "CREATE TABLE IF NOT EXISTS "
			+ TABLE_ELEMENTO_VIAL
			+ " (IDELEV INTEGER PRIMARY KEY AUTOINCREMENT, NUMERORTA NUMERIC, IDTMO NUMERIC, IDCCES NUMERIC, IDTPOEV NUMERIC, IDGPOEV NUMERIC, TIPOELEV NUMERIC, OBSERVACION TEXT, PROGRESIVAINIELEV NUMERIC, PROGRESIVAFINELEV NUMERIC, LATITUDINIELEV NUMERIC, LATITUDFINELEV NUMERIC, LONGITUDINIELEV NUMERIC, LONGITUDFINELEV NUMERIC, LADOELEV TEXT, CLASIFICACIONELEV TEXT,FECHAALTAELEV TEXT, ESTADOELEV NUMERIC, VALORDIN1ELEV TEXT, VALORDIN2ELEV TEXT, VALORDIN3ELEV TEXT, VALORDIN4ELEV TEXT, VALORDIN5ELEV TEXT)";

	private String sqlDElementoVial = "CREATE TABLE IF NOT EXISTS "
			+ TABLE_DETALLE_ELEMENTO_VIAL
			+ " (IDELEV NUMERIC PRIMARY KEY, ANCHOD NUMERIC ,ANCHOI NUMERIC ,ESTRUCTURAD TEXT ,ESTRUCTURAI TEXT ,TIPO1D TEXT ,TIPO2D TEXT ,TIPO3D TEXT ,TIPO4 TEXT ,ESPESOR1D TEXT ,ESPESOR2D TEXT ,ESPESOR3D TEXT ,ESPESOR4 TEXT ,MODO1D TEXT ,MODO2D TEXT ,MODO3D TEXT ,MODO4 TEXT ,TIPO1I TEXT ,TIPO2I TEXT ,TIPO3I TEXT ,ESPESOR1I TEXT ,ESPESOR2I TEXT ,ESPESOR3I TEXT ,MODO1I TEXT ,MODO2I TEXT ,MODO3I TEXT)";

	private String sqlAlcantarilla = "CREATE TABLE IF NOT EXISTS "
			+ TABLE_ALCANTARILLA
			+ " (ID_ALCA INTEGER PRIMARY KEY AUTOINCREMENT,	PROYECTO TEXT, TRAMO TEXT, UBICACION NUMERIC, ESVIAJE NUMERIC, RECOMENDACION TEXT, TIPO TEXT, SENTIDO TEXT, CALIFICACION TEXT,	LONGITUD NUMERIC, ANGULO NUMERIC, LUZ_E NUMERIC, LUZ_S NUMERIC, ALTURA_E NUMERIC, ALTURA_S NUMERIC, ALTURA_RELLENO_E NUMERIC, ALTURA_RELLENO_S NUMERIC, TIPO_ESTR_APROX_E TEXT, MATERIAL_APROX_E TEXT, TIPO_ESTR_E TEXT, MATERIAL_E TEXT, COND_ESTR_E TEXT, TIPO_ESTR_S TEXT, MATERIAL_S TEXT, COND_ESTR_S TEXT, TIPO_ESTR_APROX_S TEXT, MATERIAL_APROX_S TEXT, COND_HIDRA TEXT, FUNCION TEXT, REVISADO_POR TEXT, LATITUD_GPS TEXT, LONGITUD_GPS TEXT, FECHA TEXT, IMEI TEXT)";

	private String sqlFotoAlcantarilla = "CREATE TABLE IF NOT EXISTS " + TABLE_FOTO_ALCANTARILLA
			+ " (ID_FOTO INTEGER PRIMARY KEY AUTOINCREMENT, ID_ALCA NUMERIC, NOMBRE TEXT, MIME TEXT, FECHA TEXT, LATITUD TEXT, LONGITUD TEXT, IMEI TEXT, FOTO NONE)";
	private String sqlTramo = "CREATE TABLE IF NOT EXISTS "
			+ TABLE_TRAMO
			+ " (IDTMO NUMERIC, IDCCES NUMERIC, NUMERORTA NUMERIC, NOMBRETMO TEXT, PINICIALTMO NUMERIC, PFINALTMO NUMERIC, LONGITUDTMO NUMERIC, ALTITUDTMO NUMERIC, PRIMARY KEY (IDTMO,IDCCES,NUMERORTA))";
	private String sqlUsuario = "CREATE TABLE IF NOT EXISTS " + TABLE_USUARIO
			+ " (IDUSUA NUMERIC PRIMARY KEY, NOMBREUSUA TEXT, APELLIDOUSUA TEXT, IDROL NUMERIC, USUARIOUSUA TEXT,CLAVEUSUA TEXT, ISACTUSUA NUMERIC )";

	private String sqlFotoElemento = "CREATE TABLE IF NOT EXISTS " + TABLE_FOTO_ELEMENTO
			+ " (IDFOTOEV INTEGER PRIMARY KEY AUTOINCREMENT, IDELEV NUMERIC, NOMBRE TEXT, MIME TEXT, FECHA TEXT, LATITUD TEXT, LONGITUD TEXT, IMEI TEXT, FOTO NONE)";

	private String sqlConcesion = "CREATE TABLE IF NOT EXISTS "
			+ TABLE_CONCESION
			+ " (IDCCES NUMERIC PRIMARY KEY, NOMBRECCES TEXT, ESTADOCCES NUMERIC, FECHAINICCES TEXT, FECHAFINCCES TEXT, FECHAALTCCES TEXT, DIRECCIONCCES TEXT, TELEFONOCCES TEXT, PERSONALCONTCCES TEXT, IDCCESO NUMERIC, IDFCUENE NUMERIC, IDUSUA NUMERIC )";

	private String sqlRuta = "CREATE TABLE IF NOT EXISTS " + TABLE_RUTA + " (NUMERORUTA NUMERIC PRIMARY KEY, NOMBRERTA TEXT, PROGINIRTA NUMERIC, PROGFINRTA NUMERIC, NREALRTA TEXT )";

	public DaoManager(Context context) {
		super(context, DATA_BASE, null, DATA_BASE_VERSION);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		db.execSQL(sqlAlcantarilla);
		db.execSQL(sqlElementoVial);
		db.execSQL(sqlDElementoVial);
		db.execSQL(sqlTramo);
		db.execSQL(sqlUsuario);
		db.execSQL(sqlFotoAlcantarilla);
		db.execSQL(sqlFotoElemento);
		db.execSQL(sqlRuta);
		db.execSQL(sqlConcesion);

	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		db.execSQL(sqlAlcantarilla);
		db.execSQL(sqlElementoVial);
		db.execSQL(sqlDElementoVial);
		db.execSQL(sqlTramo);
		db.execSQL(sqlUsuario);
		db.execSQL(sqlFotoAlcantarilla);
		db.execSQL(sqlFotoElemento);
		db.execSQL(sqlRuta);
		db.execSQL(sqlConcesion);

	}
}
